﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IronSuit.DataMap;

namespace IronSuit.DataMap
{
	public partial class UserData : DataEntity
	{
		public UserData()
		{
		}
		public UserData(string category, string key)
		{
			this.Category = category;
			this.Key = key;

		}
		public string Category
		{
			get
			{
				return GetFieldValue("Category", "");
			}
			set
			{
				SetFieldValue("Category", value);
			}
		}
		public string Key
		{
			get
			{
				return GetFieldValue("Key", "");
			}
			set
			{
				SetFieldValue("Key", value);
			}
		}
		public string Value
		{
			get
			{
				return GetFieldValue("Value", "");
			}
			set
			{
				SetFieldValue("Value", value);
			}
		}
		public string Efield1
		{
			get
			{
				return GetFieldValue("Efield1", "");
			}
			set
			{
				SetFieldValue("Efield1", value);
			}
		}
		public string Efield2
		{
			get
			{
				return GetFieldValue("Efield2", "");
			}
			set
			{
				SetFieldValue("Efield2", value);
			}
		}
		public string Efield3
		{
			get
			{
				return GetFieldValue("Efield3", "");
			}
			set
			{
				SetFieldValue("Efield3", value);
			}
		}
		public string Efield4
		{
			get
			{
				return GetFieldValue("Efield4", "");
			}
			set
			{
				SetFieldValue("Efield4", value);
			}
		}
		public string Efield5
		{
			get
			{
				return GetFieldValue("Efield5", "");
			}
			set
			{
				SetFieldValue("Efield5", value);
			}
		}
		public string Efield6
		{
			get
			{
				return GetFieldValue("Efield6", "");
			}
			set
			{
				SetFieldValue("Efield6", value);
			}
		}
		public string Efield7
		{
			get
			{
				return GetFieldValue("Efield7", "");
			}
			set
			{
				SetFieldValue("Efield7", value);
			}
		}
		public string Efield8
		{
			get
			{
				return GetFieldValue("Efield8", "");
			}
			set
			{
				SetFieldValue("Efield8", value);
			}
		}
		public string Efield9
		{
			get
			{
				return GetFieldValue("Efield9", "");
			}
			set
			{
				SetFieldValue("Efield9", value);
			}
		}
		public DateTime  Modified
		{
			get
			{
				return GetFieldValue("Modified", DateTime .Now );
			}
			set
			{
				SetFieldValue("Modified", value);
			}
		}

		[NonSerialized]
		UserDataDBHandler DBHandler;
		protected override DataHandler GetDataHandler()
		{
			if (DBHandler == null)
				DBHandler = new UserDataDBHandler(this);
			return DBHandler;
		}
	}
	public partial class UserDataDBHandler : DataHandler
	{
		internal UserDataDBHandler(UserData entity)
			: base(entity)
		{
			KeyFieldList.Add("Category");
			KeyFieldList.Add("Key");

		}
		string _tableName = "";
		public override string TableName
		{
			get { return _tableName; }
			set { _tableName = value; }

		}		
	}
}
